import type { ComputedRef, Ref } from "vue";
import type { Categorie, Comment, CommentInfo, CommentPageParams, GoodDetail, Sku, Spec } from "@/types/detailTypes/detailTypes.ts";
import type { Good } from "@/types/homeTypes/homeTypes.ts";

export interface DetailStoreInterface {
   goodDetail: Ref<GoodDetail>;
   categories: ComputedRef<Categorie[]>;
   name: ComputedRef<string>;
   mainPictures: ComputedRef<string[]>;
   specs: ComputedRef<Spec[]>;
   skus: ComputedRef<Sku[]>;
   fetchGoodDetail: (id: string) => Promise<void>;
   fetchCityData: () => Promise<any[]>;
   relevantList: Ref<any[]>;
   hotList: Ref<Good[]>;
   evaluateInfo: Ref<CommentInfo>;
   commentList:Ref<Comment>
   fetchRelevantList: (id: string|undefined, limit: number) => Promise<void>;
   fetchHotList: (id: string, limit: number, type: number) => Promise<void>;
   fetchEvaluateInfo: (id: string) => Promise<void>;
   fetchCommentList:(id: string, params: CommentPageParams)=> Promise<void>
}
